@charset "utf-8";

/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
}


article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
	display: block;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

:focus {
	outline: 0;
}

ins {
	text-decoration: none;
}

del {
	text-decoration: line-through;
}

img {
	vertical-align: top;
}

a, a:link {
	color: #333;
	text-decoration: none;
}

a:visited {
	color: #333;
}

a:hover {
	color: #333;
}

a:active {
	color: #333;
}

/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	color: #333;
	font-size: 14px;
	line-height: 1.5;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
}

#container {
	text-align: left;
}

img {
	vertical-align: middle;
	width: 100%;
}

.fl {
	float: left;
}

.fr {
	float: right;
}

* {

	box-sizing: border-box;
}

/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	background: rgba(255, 255, 255, .9);
	padding: 0px 5%;
	position:relative
}

#gHeader .logo {
	width: auto;
	margin-top: 15px;
}

#gHeader .tel {
	float: right;
	padding-left: 32px;
	background: url(../../images/lx3.png) no-repeat left center;
	background-size: 25px;
	margin-top: 14px;
	position: relative;
	z-index: 100;
	margin-left: 20px;
}

#gHeader:after {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	background: #f8f9f9;
	width: 300px;
	z-index: 0;
}

#gHeader .tel strong {
	font-size: 24px;
	font-weight: 500;
	line-height: 30px;
	color: #333;
}



/*------------------------------------------------------------
	gNavi
------------------------------------------------------------*/
#gNavi {
	width: 60%;
}


#gHeader li {
	width: 12.5%;
	float: left;
	position: relative;
}

#gHeader li>a {
	display: block;
	line-height: 90px;
	text-align: center;
	font-size: 16px;

}

#gHeader li.on>a, #gHeader li:hover>a {
	font-weight: 600;
	color: #3e9745;
	background: url(../../images/icon2.png) no-repeat bottom 14px center;

}

#gHeader li .drop {
	position: absolute;
	left: 50%;
	width: 200px;
	margin-left: -100px;
	top: 90px;
	background: #fff;
	text-align: center;
	border-top: 2px solid #3e9745;
	opacity: 0;
	visibility: hidden;
	transform: translateY(20px);
	transition: 0.3s;
	font-size: 15px;
	z-index:110
}

#gHeader li:nth-child(2) {
	position:inherit;
}

#gHeader li:nth-child(2) .drop {
	width: auto;
	left: 10%;
	right:10%;
	margin-left:0;
	padding: 30px;
}

#gHeader li .drop a {
	display: block;
	line-height:38px;
}

#gHeader li:nth-child(2) .drop a {
	display: inline-block;
	padding: 0 20px;
	background: #efefef;
	color: #333;
	line-height: 36px;
	margin:5px 8px;
	border-radius: 4px;
}

#gHeader li .drop a:hover, #gHeader li .drop a.on {
	background: #3e9745;
	color: #fff;
}

#gHeader li:hover .drop {
	opacity: 1;
	visibility: visible;
	transform: translateY(0px);
}

.sec .title {
	text-align: center;
	padding: 40px 0 30px 0;
}

.sec .title h2 {
	font-size: 34px;
	display: inline-block;
	font-weight: 500;
	line-height: 50px;
	color: #222;
	padding-bottom: 10px;
	position: relative;
}

.sec .title h2:before {
	content: "";
	width: 26px;
	height: 23px;
	position: absolute;
	left: -40px;
	top: 18px;
	background: url(../../images/icon4.png) no-repeat center;
}

.sec .title h2:after {
	content: "";
	width: 26px;
	height: 23px;
	position: absolute;
	right: -40px;
	top: 18px;
	background: url(../../images/icon5.png) no-repeat center;
}

.sec .title p {
	font-size: 16px;
	color: #666;
}

.container {
	width: 80%;
	margin: 0 auto;
	box-sizing: border-box;
}

.sec .more a {
	display: block;
	width: 170px;
	line-height: 44px;
	border-radius: 24px;
	padding-left: 40px;
	box-sizing: border-box;
	border: 1px solid #dedede;
	margin: 30px auto 0;
	position: relative;
	font-size: 15px;
	z-index: 10;
}

.sec .more a:after {
	content: "";
	width: 32px;
	height: 34px;
	position: absolute;
	right: 6px;
	top: 6px;
	border-radius: 50%;
	background: url(../../images/icon11.png) no-repeat center right;
	background-size: cover;
	z-index: -1;
}

.sec .more a:hover {
	color: #fff;
}

.sec .more a:hover:after {
	background: #3e9745 url(../../images/icon19.png) no-repeat right 8px center;
	background-size: 22px;
	border-radius: 21px;
	left: 6px;
	width: auto;
	top:5px;
}

/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	background: url(../../images/container05_bg.jpg) no-repeat;
	background-size: cover;
	padding-top: 30px;
	color: #fff;
}

#gFooter .ft1 {
	margin-bottom: 20px;
}

#gFooter .nav {
	width: 80%;
}

#gFooter .nav li {
	width: 10%;
	float: left;
}

#gFooter .nav li a {
	display: block;
	line-height: 40px;
	color: #fff;
	border-right: 1px transparent solid;
	border-image: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 1)) 56 20;
	border-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 1)) 20 20
}

#gFooter .form {
	width: 18%;
	line-height: 34px;
	border-radius: 5px;
	position: relative;
	overflow: hidden;
}

#gFooter .form input[type="text"] {
	width: 100%;
	padding: 0 55px 0 10px;
	margin: 0;
	border: none;
	line-height: 36px;
	background: #fff;
}

#gFooter .form input[type="submit"] {
	width: 50px;
	height: 36px;
	padding: 0;
	background: url(../../images/icon3.png) #3e9745 no-repeat center;
	background-size: 26px;
	position: absolute;
	right: 0;
	top: 0;
	border-radius: 0 5px 5px 0;
	border: none;
	cursor: pointer;
}





#gFooter .fl h3 {
	font-size: 18px;
	margin-bottom: 16px;
}

#gFooter .box1 {
	width: 45%;
}

#gFooter .box1 li {
	width: 25%;
	float: left;
}

#gFooter .box1 li a {
	display: block;
	line-height: 32px;
	color: #fff;
}

#gFooter .box2 {
	width: 20%
}

#gFooter .box2 .ewm {
	text-align: center;
	padding-top: 20px;
}

#gFooter .box2 img {
	width: 140px;
	margin-bottom: 5px;
}

#gFooter .box3 {
	width: 35%;
}

#gFooter .box3 p {
	line-height: 32px;
}

#gFooter .power {
	font-size: 13px;
	padding: 10px 0;
	line-height: 26px;
	text-align: center;
	border-top: 1px solid rgba(255, 255, 255, .6);
	margin-top: 20px;
}

#gFooter .power img {
	width: 22px;
}

#gFooter .power a {
	color: #fff;
}

.sp {
	display: none !important;
}

.fixed {
	position: fixed;
	border-radius: 100px;
	right: 10px;
	top: 50%;
	width: 44px;
	transform: translateY(-50%);
	z-index: 999;
	background: #fff;
	box-shadow: 0 0 10px rgba(0, 0, 0, .3);
}

.fixed li {
	position: relative;
}

.fixed li span {
	display: block;
	width: 44px;
	height: 44px;
	line-height: 44px;
	text-align: center;
	border-top: 1px solid #dedede;
	overflow: hidden;
}

.fixed li:first-child span {
	border-top: none;
}

.fixed li:last-child span {
	background: #3e9745;
	border-top: none;
	cursor: pointer;
	border-radius: 0 0 100px 100px;
}

/**.fixed li:nth-child(3) span {
	background: url(../../images/icon58.png) no-repeat bottom center;
}**/

.fixed li span img {
	width: 22px;
	opacity:0.8
}

.fixed li .bbq {
	padding: 10px;
	background: #fff;
	border-radius: 5px;
	position: absolute;
	left: -155px;
	top: 8px;
	font-size: 18px;
	width: 140px;
	font-weight: 600;
	text-align: center;
	box-shadow: 1px -1px 30px rgba(0, 0, 0, 0.1);
	display: none;
	opacity: 0;
}

.fixed li .bbq:after {
	content: "";
	position: absolute;
	right: -8px;
	top: 20px;
	width: 16px;
	height: 16px;
	background: #fff;
	transform: rotate(45deg);
	box-shadow: 1px -1px 30px rgba(0, 0, 0, 0.1);
}

.fixed li .bbq img {
	width: 120px;
}

.fixed li:hover .bbq {
	display: block;
	opacity: 1;
}

.fixed li.return span img {
	opacity:1
}

@media all and (min-width: 1024px) and (max-width: 1680px) {
	#gHeader li:nth-child(2) .drop:after {
		left: 32.5%;
	}

	.container {
		width: 85%;
	}

	#gFooter {
		font-size: 13px;
	}
	.sec .title h2 {
		font-size:34px
	}
	#gHeader li:nth-child(2) .drop a {
		line-height:36px
	}
	.sec .title {
		padding:40px 0 20px
	}
}

@media all and (min-width: 1024px) and (max-width: 1600px) {

	#gHeader .tel {
		padding-left: 35px;
	}

	#gHeader:after {
		width: 280px;
	}
	
	#gHeader li:nth-child(2) .drop {
		left: 8%;
		right:8%;
		padding:20px;
	}
	#gHeader li:nth-child(2) .drop a {
		line-height:34px;
		padding:0 15px
	}
}


@media all and (min-width: 1024px) and (max-width: 1440px) {
	#gHeader .tel strong {
		font-size: 22px;
	}

	#gHeader .tel {
		padding-left: 40px;
	}

	#gHeader:after {
		width: 270px;
	}

	#gHeader li:nth-child(2) .drop:after {
		left: 30%;
	}

	#gFooter .box1 {
		width: 55%;
	}

	#gFooter .box2 {
		width: 15%;
		padding: 0 20px;
		box-sizing: border-box;
	}

	#gFooter .box2 img {
		width: 120px;
	}

	#gFooter .box3 {
		width: 25%;
	}
}

@media all and (min-width: 1024px) and (max-width: 1400px) {
	.sec .title h2 {
		font-size: 36px;
	}


	.container {
		width: 90%;
	}

	.sec .title {
		padding: 30px 0 20px;
	}
	.sec .title h2 {
		font-size:32px
	}

}

@media all and (min-width: 1024px) and (max-width: 1366px) {
	
	.container {
		width: 92%
	}

	#gHeader {
		padding: 0 3%
	}

	#gHeader:after {
		width: 240px;
	}

}

@media all and (min-width: 1024px) and (max-width: 1200px) {
	#gNavi {
		width: 58%;
	}

	#gHeader li>a {
		font-size: 15px;
	}

	#gHeader .logo {
		width: 200px;
		margin-top: 19px;
	}

	#gHeader:after {
		width: 220px;
	}

	#gHeader .tel {
		padding-left: 34px;
		background-size: 24px;
	}
}



@media all and (min-width: 0) and (max-width: 767px) {

	.sp {
		display: block !important;
	}

	.pc {
		display: none !important;
	}

	.fl, .fr {
		float: inherit;
	}

	#gHeader {
		position: inherit;
		padding: 10px 12px;
	}

	#gHeader .logo {
		width: 180px;
		margin-top: 0px;
	}

	#gHeader .dh {
		position: absolute;
		right: 60px;
		top: 19px;

	}

	#gHeader .dh a {
		display: block;
		width: 34px;
		height: 34px;
		background: url(../../images/lx3.png) no-repeat center;
		background-size: 24px;
	}
	#gHeader:after {
		display: none;
	}


	#gHeader .menu {
		width: 34px;
		position: absolute;
		right: 10px;
		top: 20px;
	}

	#gHeader .menu span {
		display: block;
		width: 26px;
		height: 3px;
		background: #3e9745;
		border-radius: 3px;
		margin-top: 5px;
	}

	#gNavi {
		width: 100%;
		position: absolute;
		left: 0;
		top: 66px;
		background: rgba(255, 255, 255, 1);
		border-top: 1px solid #dedede;
		display: none;
		z-index: 100;
	}


	#gHeader li {
		width: 100%;
		float: inherit;
		border-bottom: 1px dashed #dedede;
		padding: 0 20px;
	}

	#gHeader li>a {
		line-height: 40px;
		text-align: left;
		font-size: 15px;
		background: url(../../images/icon39.png) no-repeat right center;
		background-size: 22px;

	}

	#gHeader li.on>a, #gHeader li:hover>a {
		font-weight: 600;
		color: #3e9745;
		background: url(../../images/icon40.png) no-repeat right center;
		background-size: 22px;

	}

	#gHeader li:nth-child(2).on>a, #gHeader li:nth-child(3).on>a, #gHeader li:nth-child(6).on>a，#gHeader li:nth-child(7).on>a {
		background-image: url(../../images/icon41.png)
	}

	#gHeader li .drop {
		position: relative;
		left: 0;
		width: 100%;
		margin-left: 0px;
		top: 0px;
		background: none;
		border-top: none;
		opacity: 1;
		visibility: inherit;
		transform: translateY(0px);
		font-size: 14px;
		overflow: hidden;
		display: none;
	}


	#gHeader li .drop:after {
		display: none;
	}


	#gHeader li:nth-child(2) .drop {
		width: inherit;
		left: inherit;
		right:inherit;
		padding: 0px;
	}

	#gHeader li .drop a {
		display: block;
		width: 48%;
		float: left;
		line-height: 30px;
		margin: 3px 1%;
		background: #efefef;
		color: #333;
		border-radius: 4px;

	}

	#gHeader li:nth-child(2) .drop a {
		display: block;
		padding: 0px;
		line-height: 30px;
		margin: 3px 1%;
	}

	.sec .title {
		padding: 20px 0 16px 0;
	}

	.sec .title h2 {
		font-size: 26px;
		line-height: 50px;
		padding-bottom: 0;
	}

	.sec .title h2:before {
		width: 22px;
		height: 19px;
		left: -30px;
		top: 16px;
		background-size: cover;
	}

	.sec .title h2:after {
		width: 22px;
		height: 19px;
		right: -30px;
		top: 16px;
		background-size: cover;
	}

	.sec .title p {
		font-size: 14px;
	}

	.container {
		width: 100%;
	}

	.sec .more a {
		width: 130px;
		line-height: 36px;
		border-radius: 18px;
		padding-left: 24px;
		margin: 20px auto 0;
		font-size: 14px;
	}

	.sec .more a:after {
		width: 28px;
		height: 28px;
		top:5px
	}

	/*------------------------------------------------------------
		フッター
	------------------------------------------------------------*/
	#gFooter {
		padding: 20px 10px 0;
	}

	#gFooter .ft1 {
		margin-bottom: 20px;
	}

	#gFooter .nav {
		width: 100%;
	}

	#gFooter .nav li {
		width: 25%;
	}

	#gFooter .nav li a {
		text-align: center;
		line-height: 30px;
	}

	#gFooter .form {
		width: 100%;
		max-width: 350px;
		margin: 20px auto 0;
		line-height: 34px;
	}

	#gFooter .form input[type="text"] {
		line-height: 34px;
	}

	#gFooter .form input[type="submit"] {
		height: 35px;
		background-size: 24px;
	}

	#gFooter .fl h3 {
		font-size: 17px;
		margin-bottom: 12px;
	}

	#gFooter .box1 {
		width: 100%;
	}

	#gFooter .box1 li {
		width: 50%;
		float: left;
	}

	#gFooter .box1 li a {
		line-height: 30px;
	}

	#gFooter .box2 {
		width: 100%;
		margin: 20px 0;
	}

	#gFooter .box2 .ewm {
		text-align: center;
		padding-top: 10px;
	}

	#gFooter .box2 img {
		width: 120px;
		margin-bottom: 5px;
	}

	#gFooter .box3 {
		width: 100%;
	}

	#gFooter .box3 p {
		line-height: 30px;
	}


	#gFooter .power img {
		width: 20px;
	}

}